use std::env;
use std::process;


use rust_io;
use rust_io::Config;
fn main() {
    let args: Vec<String> = env::args().collect();
    //1需要接受一个无效的Unicode 时使用 std::env::args_os 代替，这个函数返回的是OsString ，而不是String
    //2、collect() 可以被用来创建很多类型的集合

    let config =Config::new(&args).unwrap_or_else(|err| {
        println!("Problem parsing arguments: {}", err);
        process::exit(1);
    });

    


    // println!("Searching for {}", config.query);
    // println!("In ,file {}", config.filename);

    if let Err(e) = rust_io::run(config) {
        println!("Application error: {}", e);
        process::exit(1);
    }
}


// fn parse_config(args: &[String]) -> Config {
//     let query = args[1].clone();
//     let filename = args[2].clone();
//     Config { query, filename }
// }
